<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Reflex Class Reference</title>
<link href="doxygen_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="doxygen_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td><a href="https://github.com/Genivia/RE-flex"><img src="reflex-logo.png"/></a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">Reflex Class Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Fri Nov 22 2019 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="class_reflex-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Reflex Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>RE/flex scanner generator class, a variation of the classic "lex" tool to generate scanners.  
 <a href="class_reflex.html#details">More...</a></p>

<p><code>#include &lt;reflex.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for Reflex:</div>
<div class="dyncontent">
<div class="center"><img src="class_reflex__coll__graph.png" border="0" usemap="#_reflex_coll__map" alt="Collaboration graph"/></div>
<map name="_reflex_coll__map" id="_reflex_coll__map">
<area shape="rect" id="node2" href="classreflex_1_1_buffered_input.html" title="Buffered input. " alt="" coords="1257,124,1399,151"/>
<area shape="rect" id="node3" href="classreflex_1_1_input.html" title="Input character sequence class for unified access to sources of input text. " alt="" coords="933,128,1025,155"/>
<area shape="rect" id="node4" title="STL class. " alt="" coords="603,136,693,163"/>
<area shape="rect" id="node5" title="STL class. " alt="" coords="361,131,490,173"/>
<area shape="rect" id="node6" title="STL class. " alt="" coords="155,115,309,141"/>
<area shape="rect" id="node21" title="STL class. " alt="" coords="359,66,492,107"/>
<area shape="rect" id="node7" title="STL class. " alt="" coords="5,115,105,141"/>
<area shape="rect" id="node8" href="struct_reflex_1_1_library.html" title="A library entry to describe regex library properties. " alt="" coords="925,189,1033,216"/>
<area shape="rect" id="node10" title="STL class. " alt="" coords="921,656,1036,683"/>
<area shape="rect" id="node12" title="STL class. " alt="" coords="385,372,465,399"/>
<area shape="rect" id="node16" href="struct_reflex_1_1_code.html" title="Line of code fragment in lex specifications. " alt="" coords="599,428,697,455"/>
<area shape="rect" id="node13" title="STL class. " alt="" coords="169,365,295,406"/>
<area shape="rect" id="node20" title="STL class. " alt="" coords="755,73,851,100"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_reflex_1_1_code.html">Code</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Line of code fragment in lex specifications.  <a href="struct_reflex_1_1_code.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_reflex_1_1_library.html">Library</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A library entry to describe regex library properties.  <a href="struct_reflex_1_1_library.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_reflex_1_1_rule.html">Rule</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A regex pattern and action pair that forms a rule.  <a href="struct_reflex_1_1_rule.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aa8c4529578d0a64c49d765df6287b5dc"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <a class="el" href="struct_reflex_1_1_library.html">Library</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#aa8c4529578d0a64c49d765df6287b5dc">LibraryMap</a></td></tr>
<tr class="memdesc:aa8c4529578d0a64c49d765df6287b5dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary of regex libraries.  <a href="#aa8c4529578d0a64c49d765df6287b5dc">More...</a><br /></td></tr>
<tr class="separator:aa8c4529578d0a64c49d765df6287b5dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb6f49bd01810ba3f30747ee148f0389"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="struct_reflex_1_1_code.html">Code</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a></td></tr>
<tr class="memdesc:abb6f49bd01810ba3f30747ee148f0389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of ordered lines of code.  <a href="#abb6f49bd01810ba3f30747ee148f0389">More...</a><br /></td></tr>
<tr class="separator:abb6f49bd01810ba3f30747ee148f0389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11eba19c13cb5dadc9ee92bdbef1742b"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="struct_reflex_1_1_rule.html">Rule</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a11eba19c13cb5dadc9ee92bdbef1742b">Rules</a></td></tr>
<tr class="memdesc:a11eba19c13cb5dadc9ee92bdbef1742b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of ordered rules.  <a href="#a11eba19c13cb5dadc9ee92bdbef1742b">More...</a><br /></td></tr>
<tr class="separator:a11eba19c13cb5dadc9ee92bdbef1742b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a6e7a1fe6005818eb77148483d726b1"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Strings</a></td></tr>
<tr class="memdesc:a3a6e7a1fe6005818eb77148483d726b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of ordered strings.  <a href="#a3a6e7a1fe6005818eb77148483d726b1">More...</a><br /></td></tr>
<tr class="separator:a3a6e7a1fe6005818eb77148483d726b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d8d0a1e69254887bb449ccf2cf6f25c"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">StringMap</a></td></tr>
<tr class="memdesc:a6d8d0a1e69254887bb449ccf2cf6f25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary (std::string)  <a href="#a6d8d0a1e69254887bb449ccf2cf6f25c">More...</a><br /></td></tr>
<tr class="separator:a6d8d0a1e69254887bb449ccf2cf6f25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e5a4bdb0ce1d6ccdec74d14cd06aac"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a55e5a4bdb0ce1d6ccdec74d14cd06aac">Dictionary</a></td></tr>
<tr class="memdesc:a55e5a4bdb0ce1d6ccdec74d14cd06aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary (const char*)  <a href="#a55e5a4bdb0ce1d6ccdec74d14cd06aac">More...</a><br /></td></tr>
<tr class="separator:a55e5a4bdb0ce1d6ccdec74d14cd06aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a848b594249e352aeb4fbb9b80625df50"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a></td></tr>
<tr class="memdesc:a848b594249e352aeb4fbb9b80625df50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start condition state type.  <a href="#a848b594249e352aeb4fbb9b80625df50">More...</a><br /></td></tr>
<tr class="separator:a848b594249e352aeb4fbb9b80625df50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c6779ef74206e028a5d08eeecfe785d"><td class="memItemLeft" align="right" valign="top">typedef std::set&lt; <a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Starts</a></td></tr>
<tr class="memdesc:a8c6779ef74206e028a5d08eeecfe785d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of start conditions.  <a href="#a8c6779ef74206e028a5d08eeecfe785d">More...</a><br /></td></tr>
<tr class="separator:a8c6779ef74206e028a5d08eeecfe785d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbe4c8caf09edbddcca57963ec00a73f"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a>, <a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#afbe4c8caf09edbddcca57963ec00a73f">CodesMap</a></td></tr>
<tr class="memdesc:afbe4c8caf09edbddcca57963ec00a73f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of start conditions to lines of code.  <a href="#afbe4c8caf09edbddcca57963ec00a73f">More...</a><br /></td></tr>
<tr class="separator:afbe4c8caf09edbddcca57963ec00a73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aef4c7aef224a4fa99ff256bc514e13"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a>, <a class="el" href="class_reflex.html#a11eba19c13cb5dadc9ee92bdbef1742b">Rules</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a7aef4c7aef224a4fa99ff256bc514e13">RulesMap</a></td></tr>
<tr class="memdesc:a7aef4c7aef224a4fa99ff256bc514e13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of start conditions to rules.  <a href="#a7aef4c7aef224a4fa99ff256bc514e13">More...</a><br /></td></tr>
<tr class="separator:a7aef4c7aef224a4fa99ff256bc514e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a27dfea948be151721bc24f15e1918a89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a27dfea948be151721bc24f15e1918a89">main</a> (int argc, char **argv)</td></tr>
<tr class="memdesc:a27dfea948be151721bc24f15e1918a89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main program.  <a href="#a27dfea948be151721bc24f15e1918a89">More...</a><br /></td></tr>
<tr class="separator:a27dfea948be151721bc24f15e1918a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ac4d549aab5d74976912f9e21c03ec046"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">StringMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ac4d549aab5d74976912f9e21c03ec046">options</a></td></tr>
<tr class="memdesc:ac4d549aab5d74976912f9e21c03ec046"><td class="mdescLeft">&#160;</td><td class="mdescRight">maps option name (from the options_table) to its option value  <a href="#ac4d549aab5d74976912f9e21c03ec046">More...</a><br /></td></tr>
<tr class="separator:ac4d549aab5d74976912f9e21c03ec046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a66e413d3c2f1f55c85935c05053fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#aa8c4529578d0a64c49d765df6287b5dc">LibraryMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a16a66e413d3c2f1f55c85935c05053fb">libraries</a></td></tr>
<tr class="memdesc:a16a66e413d3c2f1f55c85935c05053fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">maps regex library name ("reflex", "boost", etc) to library info  <a href="#a16a66e413d3c2f1f55c85935c05053fb">More...</a><br /></td></tr>
<tr class="separator:a16a66e413d3c2f1f55c85935c05053fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6576cd4dbb07cdf6e35a81d82f33458e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_reflex_1_1_library.html">Library</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a6576cd4dbb07cdf6e35a81d82f33458e">library</a></td></tr>
<tr class="memdesc:a6576cd4dbb07cdf6e35a81d82f33458e"><td class="mdescLeft">&#160;</td><td class="mdescRight">the regex library selected  <a href="#a6576cd4dbb07cdf6e35a81d82f33458e">More...</a><br /></td></tr>
<tr class="separator:a6576cd4dbb07cdf6e35a81d82f33458e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19a51b8e2bb114d8e237736464ac1110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Strings</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a19a51b8e2bb114d8e237736464ac1110">conditions</a></td></tr>
<tr class="memdesc:a19a51b8e2bb114d8e237736464ac1110"><td class="mdescLeft">&#160;</td><td class="mdescRight">"INITIAL" start condition etc. defined with x name  <a href="#a19a51b8e2bb114d8e237736464ac1110">More...</a><br /></td></tr>
<tr class="separator:a19a51b8e2bb114d8e237736464ac1110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a879815c74ef72e4d66931f4bbf3ea327"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Strings</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a879815c74ef72e4d66931f4bbf3ea327">patterns</a></td></tr>
<tr class="memdesc:a879815c74ef72e4d66931f4bbf3ea327"><td class="mdescLeft">&#160;</td><td class="mdescRight">regex patterns for each start condition  <a href="#a879815c74ef72e4d66931f4bbf3ea327">More...</a><br /></td></tr>
<tr class="separator:a879815c74ef72e4d66931f4bbf3ea327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2717ffc89bd95b32b1a9d9dcdfc265"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Starts</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9e2717ffc89bd95b32b1a9d9dcdfc265">inclusive</a></td></tr>
<tr class="memdesc:a9e2717ffc89bd95b32b1a9d9dcdfc265"><td class="mdescLeft">&#160;</td><td class="mdescRight">inclusive start conditions  <a href="#a9e2717ffc89bd95b32b1a9d9dcdfc265">More...</a><br /></td></tr>
<tr class="separator:a9e2717ffc89bd95b32b1a9d9dcdfc265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c25500450853f1b764ffd84c3e5b5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">StringMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a10c25500450853f1b764ffd84c3e5b5c">definitions</a></td></tr>
<tr class="memdesc:a10c25500450853f1b764ffd84c3e5b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">map of {name} to regex  <a href="#a10c25500450853f1b764ffd84c3e5b5c">More...</a><br /></td></tr>
<tr class="separator:a10c25500450853f1b764ffd84c3e5b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8732c058a3371357b5a6a32c884d33ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#a7aef4c7aef224a4fa99ff256bc514e13">RulesMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a8732c058a3371357b5a6a32c884d33ac">rules</a></td></tr>
<tr class="memdesc:a8732c058a3371357b5a6a32c884d33ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt;Start_i&gt;regex_j action for Start i <a class="el" href="struct_reflex_1_1_rule.html" title="A regex pattern and action pair that forms a rule. ">Rule</a> j  <a href="#a8732c058a3371357b5a6a32c884d33ac">More...</a><br /></td></tr>
<tr class="separator:a8732c058a3371357b5a6a32c884d33ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e50dfe560c191dd9bd3cde9c36256f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a6e50dfe560c191dd9bd3cde9c36256f8">section_top</a></td></tr>
<tr class="memdesc:a6e50dfe560c191dd9bd3cde9c36256f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">top{ user code %} in section 1 container  <a href="#a6e50dfe560c191dd9bd3cde9c36256f8">More...</a><br /></td></tr>
<tr class="separator:a6e50dfe560c191dd9bd3cde9c36256f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6085e4c5eb4dcf32bdbfb7fc5d72a4e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a6085e4c5eb4dcf32bdbfb7fc5d72a4e4">section_class</a></td></tr>
<tr class="memdesc:a6085e4c5eb4dcf32bdbfb7fc5d72a4e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">class{ class code %} in section 1 container  <a href="#a6085e4c5eb4dcf32bdbfb7fc5d72a4e4">More...</a><br /></td></tr>
<tr class="separator:a6085e4c5eb4dcf32bdbfb7fc5d72a4e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c3433a31e6edb1225a54bff471b1b6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a5c3433a31e6edb1225a54bff471b1b6d">section_init</a></td></tr>
<tr class="memdesc:a5c3433a31e6edb1225a54bff471b1b6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">init{ init code %} in section 1 container  <a href="#a5c3433a31e6edb1225a54bff471b1b6d">More...</a><br /></td></tr>
<tr class="separator:a5c3433a31e6edb1225a54bff471b1b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ea7fa567dc30f159cc2abd7c14ca07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a69ea7fa567dc30f159cc2abd7c14ca07">section_1</a></td></tr>
<tr class="memdesc:a69ea7fa567dc30f159cc2abd7c14ca07"><td class="mdescLeft">&#160;</td><td class="mdescRight">%{ user code %} in section 1 container  <a href="#a69ea7fa567dc30f159cc2abd7c14ca07">More...</a><br /></td></tr>
<tr class="separator:a69ea7fa567dc30f159cc2abd7c14ca07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6384f841b94a8b5cacb7c7cf1d441c45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#afbe4c8caf09edbddcca57963ec00a73f">CodesMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a6384f841b94a8b5cacb7c7cf1d441c45">section_2</a></td></tr>
<tr class="memdesc:a6384f841b94a8b5cacb7c7cf1d441c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">lexer user code in section 2 container  <a href="#a6384f841b94a8b5cacb7c7cf1d441c45">More...</a><br /></td></tr>
<tr class="separator:a6384f841b94a8b5cacb7c7cf1d441c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a42d86bbdfc14e2a2c5253f92d75014"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a0a42d86bbdfc14e2a2c5253f92d75014">section_3</a></td></tr>
<tr class="memdesc:a0a42d86bbdfc14e2a2c5253f92d75014"><td class="mdescLeft">&#160;</td><td class="mdescRight">main user code in section 3 container  <a href="#a0a42d86bbdfc14e2a2c5253f92d75014">More...</a><br /></td></tr>
<tr class="separator:a0a42d86bbdfc14e2a2c5253f92d75014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ce8ccc7e141edca3b6420eb1d1230a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a90ce8ccc7e141edca3b6420eb1d1230a">infile</a></td></tr>
<tr class="memdesc:a90ce8ccc7e141edca3b6420eb1d1230a"><td class="mdescLeft">&#160;</td><td class="mdescRight">input file name  <a href="#a90ce8ccc7e141edca3b6420eb1d1230a">More...</a><br /></td></tr>
<tr class="separator:a90ce8ccc7e141edca3b6420eb1d1230a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbfa0e7b5796866248444540f2c2e91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_buffered_input.html">reflex::BufferedInput</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#aacbfa0e7b5796866248444540f2c2e91">in</a></td></tr>
<tr class="memdesc:aacbfa0e7b5796866248444540f2c2e91"><td class="mdescLeft">&#160;</td><td class="mdescRight">input lex spec  <a href="#aacbfa0e7b5796866248444540f2c2e91">More...</a><br /></td></tr>
<tr class="separator:aacbfa0e7b5796866248444540f2c2e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a7d03055d6b390d74f62356c3b8f7f"><td class="memItemLeft" align="right" valign="top">std::ostream *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a43a7d03055d6b390d74f62356c3b8f7f">out</a></td></tr>
<tr class="memdesc:a43a7d03055d6b390d74f62356c3b8f7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">output stream  <a href="#a43a7d03055d6b390d74f62356c3b8f7f">More...</a><br /></td></tr>
<tr class="separator:a43a7d03055d6b390d74f62356c3b8f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac085e3b7ee325db6dd80547e4f3ff492"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ac085e3b7ee325db6dd80547e4f3ff492">line</a></td></tr>
<tr class="memdesc:ac085e3b7ee325db6dd80547e4f3ff492"><td class="mdescLeft">&#160;</td><td class="mdescRight">current line read from input  <a href="#ac085e3b7ee325db6dd80547e4f3ff492">More...</a><br /></td></tr>
<tr class="separator:ac085e3b7ee325db6dd80547e4f3ff492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a810fc443d62c7acdbe0e50e0cbf88751"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a810fc443d62c7acdbe0e50e0cbf88751">lineno</a></td></tr>
<tr class="memdesc:a810fc443d62c7acdbe0e50e0cbf88751"><td class="mdescLeft">&#160;</td><td class="mdescRight">current line number at input  <a href="#a810fc443d62c7acdbe0e50e0cbf88751">More...</a><br /></td></tr>
<tr class="separator:a810fc443d62c7acdbe0e50e0cbf88751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a760ce32f11519792ae3e8ae39581321b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a760ce32f11519792ae3e8ae39581321b">linelen</a></td></tr>
<tr class="memdesc:a760ce32f11519792ae3e8ae39581321b"><td class="mdescLeft">&#160;</td><td class="mdescRight">current line length  <a href="#a760ce32f11519792ae3e8ae39581321b">More...</a><br /></td></tr>
<tr class="separator:a760ce32f11519792ae3e8ae39581321b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7001f5dfc8f7df0d9d1a0206f6eeddd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ab7001f5dfc8f7df0d9d1a0206f6eeddd">color_term</a></td></tr>
<tr class="memdesc:ab7001f5dfc8f7df0d9d1a0206f6eeddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">terminal supports colors  <a href="#ab7001f5dfc8f7df0d9d1a0206f6eeddd">More...</a><br /></td></tr>
<tr class="separator:ab7001f5dfc8f7df0d9d1a0206f6eeddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad158e2c52fa9642e7d93a477db067032"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ad158e2c52fa9642e7d93a477db067032">init</a> (int argc, char **argv)</td></tr>
<tr class="memdesc:ad158e2c52fa9642e7d93a477db067032"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_reflex.html" title="RE/flex scanner generator class, a variation of the classic &quot;lex&quot; tool to generate scanners...">Reflex</a> initialization.  <a href="#ad158e2c52fa9642e7d93a477db067032">More...</a><br /></td></tr>
<tr class="separator:ad158e2c52fa9642e7d93a477db067032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30485ab1c619a08756855152ec198508"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a30485ab1c619a08756855152ec198508">version</a> ()</td></tr>
<tr class="memdesc:a30485ab1c619a08756855152ec198508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display version information and exit.  <a href="#a30485ab1c619a08756855152ec198508">More...</a><br /></td></tr>
<tr class="separator:a30485ab1c619a08756855152ec198508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0520e61057161b9d56fa2fcec5399a7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a0520e61057161b9d56fa2fcec5399a7f">help</a> (const char *message=NULL, const char *arg=NULL)</td></tr>
<tr class="memdesc:a0520e61057161b9d56fa2fcec5399a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display help information with an optional diagnostic message and exit.  <a href="#a0520e61057161b9d56fa2fcec5399a7f">More...</a><br /></td></tr>
<tr class="separator:a0520e61057161b9d56fa2fcec5399a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73dd4e0d6c5db21a2636f332e6e7bd02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a73dd4e0d6c5db21a2636f332e6e7bd02">set_library</a> ()</td></tr>
<tr class="memdesc:a73dd4e0d6c5db21a2636f332e6e7bd02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set/reset regex library matcher.  <a href="#a73dd4e0d6c5db21a2636f332e6e7bd02">More...</a><br /></td></tr>
<tr class="separator:a73dd4e0d6c5db21a2636f332e6e7bd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d530e5070b00d2bdbae9bed1a51945"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a41d530e5070b00d2bdbae9bed1a51945">parse</a> ()</td></tr>
<tr class="memdesc:a41d530e5070b00d2bdbae9bed1a51945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse lex specification input.  <a href="#a41d530e5070b00d2bdbae9bed1a51945">More...</a><br /></td></tr>
<tr class="separator:a41d530e5070b00d2bdbae9bed1a51945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a6888a1281e469b13ca902f114f93a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a4a6888a1281e469b13ca902f114f93a2">parse_section_1</a> ()</td></tr>
<tr class="memdesc:a4a6888a1281e469b13ca902f114f93a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse section 1 of a lex specification.  <a href="#a4a6888a1281e469b13ca902f114f93a2">More...</a><br /></td></tr>
<tr class="separator:a4a6888a1281e469b13ca902f114f93a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1484c3f64f893012187b4e34643b21d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a1484c3f64f893012187b4e34643b21d5">parse_section_2</a> ()</td></tr>
<tr class="memdesc:a1484c3f64f893012187b4e34643b21d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse section 2 of a lex specification.  <a href="#a1484c3f64f893012187b4e34643b21d5">More...</a><br /></td></tr>
<tr class="separator:a1484c3f64f893012187b4e34643b21d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1c87d2a855eabf92aebc995f0f4fa6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#af1c87d2a855eabf92aebc995f0f4fa6d">parse_section_3</a> ()</td></tr>
<tr class="memdesc:af1c87d2a855eabf92aebc995f0f4fa6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse section 3 of a lex specification.  <a href="#af1c87d2a855eabf92aebc995f0f4fa6d">More...</a><br /></td></tr>
<tr class="separator:af1c87d2a855eabf92aebc995f0f4fa6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4f576217a1dd8ba8a0d94ed6814228"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a5e4f576217a1dd8ba8a0d94ed6814228">include</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:a5e4f576217a1dd8ba8a0d94ed6814228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse the specified %include file.  <a href="#a5e4f576217a1dd8ba8a0d94ed6814228">More...</a><br /></td></tr>
<tr class="separator:a5e4f576217a1dd8ba8a0d94ed6814228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af38a99517397df6f116985a31062366e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#af38a99517397df6f116985a31062366e">write</a> ()</td></tr>
<tr class="memdesc:af38a99517397df6f116985a31062366e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write lex.yy.cpp.  <a href="#af38a99517397df6f116985a31062366e">More...</a><br /></td></tr>
<tr class="separator:af38a99517397df6f116985a31062366e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5378b5a1eb6ef820137108103cde676e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a5378b5a1eb6ef820137108103cde676e">write_banner</a> (const char *title)</td></tr>
<tr class="memdesc:a5378b5a1eb6ef820137108103cde676e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a banner in lex.yy.cpp.  <a href="#a5378b5a1eb6ef820137108103cde676e">More...</a><br /></td></tr>
<tr class="separator:a5378b5a1eb6ef820137108103cde676e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7cffdb537bbe9e813d50509bb8f6b77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ae7cffdb537bbe9e813d50509bb8f6b77">write_prelude</a> ()</td></tr>
<tr class="memdesc:ae7cffdb537bbe9e813d50509bb8f6b77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the prelude to lex.yy.cpp.  <a href="#ae7cffdb537bbe9e813d50509bb8f6b77">More...</a><br /></td></tr>
<tr class="separator:ae7cffdb537bbe9e813d50509bb8f6b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad4dcb338a4529b4cf5eb1c1f6a66f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a4ad4dcb338a4529b4cf5eb1c1f6a66f8">write_defines</a> ()</td></tr>
<tr class="memdesc:a4ad4dcb338a4529b4cf5eb1c1f6a66f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write Flex-compatible #defines to lex.yy.cpp.  <a href="#a4ad4dcb338a4529b4cf5eb1c1f6a66f8">More...</a><br /></td></tr>
<tr class="separator:a4ad4dcb338a4529b4cf5eb1c1f6a66f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76892cdd57ac5aa8189daff17f751bc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a76892cdd57ac5aa8189daff17f751bc4">write_class</a> ()</td></tr>
<tr class="memdesc:a76892cdd57ac5aa8189daff17f751bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the lexer class to lex.yy.cpp.  <a href="#a76892cdd57ac5aa8189daff17f751bc4">More...</a><br /></td></tr>
<tr class="separator:a76892cdd57ac5aa8189daff17f751bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af497f62c94622122f8ad2aaaeb68102a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#af497f62c94622122f8ad2aaaeb68102a">write_section_top</a> ()</td></tr>
<tr class="memdesc:af497f62c94622122f8ad2aaaeb68102a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write %top{ %} code to lex.yy.cpp.  <a href="#af497f62c94622122f8ad2aaaeb68102a">More...</a><br /></td></tr>
<tr class="separator:af497f62c94622122f8ad2aaaeb68102a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca10b84c4da54da34145b9cb92741e65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#aca10b84c4da54da34145b9cb92741e65">write_section_class</a> ()</td></tr>
<tr class="memdesc:aca10b84c4da54da34145b9cb92741e65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write %class{ %} code to lex.yy.cpp.  <a href="#aca10b84c4da54da34145b9cb92741e65">More...</a><br /></td></tr>
<tr class="separator:aca10b84c4da54da34145b9cb92741e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dcd1db4f416474695064d5b84dfb3d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9dcd1db4f416474695064d5b84dfb3d5">write_section_init</a> ()</td></tr>
<tr class="memdesc:a9dcd1db4f416474695064d5b84dfb3d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write %init{ %} code to lex.yy.cpp.  <a href="#a9dcd1db4f416474695064d5b84dfb3d5">More...</a><br /></td></tr>
<tr class="separator:a9dcd1db4f416474695064d5b84dfb3d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6b770dad76d0e321d1ac3ac94fd1dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a7e6b770dad76d0e321d1ac3ac94fd1dc">write_perf_report</a> ()</td></tr>
<tr class="memdesc:a7e6b770dad76d0e321d1ac3ac94fd1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write perf_report code to lex.yy.cpp.  <a href="#a7e6b770dad76d0e321d1ac3ac94fd1dc">More...</a><br /></td></tr>
<tr class="separator:a7e6b770dad76d0e321d1ac3ac94fd1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63ffcc73cc1d67d82297e7594e1ac90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ad63ffcc73cc1d67d82297e7594e1ac90">write_section_1</a> ()</td></tr>
<tr class="memdesc:ad63ffcc73cc1d67d82297e7594e1ac90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write section 1 user-defined code to lex.yy.cpp.  <a href="#ad63ffcc73cc1d67d82297e7594e1ac90">More...</a><br /></td></tr>
<tr class="separator:ad63ffcc73cc1d67d82297e7594e1ac90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a126d6ab58a2f7f69baaa924ccfd323e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a126d6ab58a2f7f69baaa924ccfd323e4">write_section_3</a> ()</td></tr>
<tr class="memdesc:a126d6ab58a2f7f69baaa924ccfd323e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write section 3 user-defined code to lex.yy.cpp.  <a href="#a126d6ab58a2f7f69baaa924ccfd323e4">More...</a><br /></td></tr>
<tr class="separator:a126d6ab58a2f7f69baaa924ccfd323e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97e7f90b8d79368875ab955798b1086"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ad97e7f90b8d79368875ab955798b1086">write_code</a> (const <a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> &amp;codes)</td></tr>
<tr class="memdesc:ad97e7f90b8d79368875ab955798b1086"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write lines of code to lex.yy.cpp annotated with <a class="el" href="class_reflex.html#ac085e3b7ee325db6dd80547e4f3ff492" title="current line read from input ">line</a> source info.  <a href="#ad97e7f90b8d79368875ab955798b1086">More...</a><br /></td></tr>
<tr class="separator:ad97e7f90b8d79368875ab955798b1086"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b0fa5d1c28f7b0d1d79aac7d7cd546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a21b0fa5d1c28f7b0d1d79aac7d7cd546">write_code</a> (const <a class="el" href="struct_reflex_1_1_code.html">Code</a> &amp;code)</td></tr>
<tr class="memdesc:a21b0fa5d1c28f7b0d1d79aac7d7cd546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a line(s) of code to lex.yy.cpp annotated with <a class="el" href="class_reflex.html#ac085e3b7ee325db6dd80547e4f3ff492" title="current line read from input ">line</a> source info.  <a href="#a21b0fa5d1c28f7b0d1d79aac7d7cd546">More...</a><br /></td></tr>
<tr class="separator:a21b0fa5d1c28f7b0d1d79aac7d7cd546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2de02f859367c9edf019127d7e1017b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a2de02f859367c9edf019127d7e1017b7">write_lexer</a> ()</td></tr>
<tr class="memdesc:a2de02f859367c9edf019127d7e1017b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write lexer code and <a class="el" href="namespacereflex_1_1convert__flag.html#a7222821c0cc6579424c71c261e9b8805" title="convert Lex/Flex regular expression syntax ">lex()</a> method code.  <a href="#a2de02f859367c9edf019127d7e1017b7">More...</a><br /></td></tr>
<tr class="separator:a2de02f859367c9edf019127d7e1017b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73708c3b7e0c165a4199abc159c6c2ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a73708c3b7e0c165a4199abc159c6c2ef">write_main</a> ()</td></tr>
<tr class="memdesc:a73708c3b7e0c165a4199abc159c6c2ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write <a class="el" href="class_reflex.html#a27dfea948be151721bc24f15e1918a89" title="Main program. ">main()</a> to lex.yy.cpp.  <a href="#a73708c3b7e0c165a4199abc159c6c2ef">More...</a><br /></td></tr>
<tr class="separator:a73708c3b7e0c165a4199abc159c6c2ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac53cf0387ce042bb427f666ab2b9b614"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ac53cf0387ce042bb427f666ab2b9b614">write_regex</a> (const std::string *condition, const std::string &amp;regex)</td></tr>
<tr class="memdesc:ac53cf0387ce042bb427f666ab2b9b614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write regex string to lex.yy.cpp by escaping \ and ", prevent trigraphs, very long strings are represented by character arrays.  <a href="#ac53cf0387ce042bb427f666ab2b9b614">More...</a><br /></td></tr>
<tr class="separator:ac53cf0387ce042bb427f666ab2b9b614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b38c4bff914c0a8cbb2bc8d2200f16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a35b38c4bff914c0a8cbb2bc8d2200f16">write_namespace_open</a> ()</td></tr>
<tr class="memdesc:a35b38c4bff914c0a8cbb2bc8d2200f16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write namespace openings NAME {.  <a href="#a35b38c4bff914c0a8cbb2bc8d2200f16">More...</a><br /></td></tr>
<tr class="separator:a35b38c4bff914c0a8cbb2bc8d2200f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc88f0e37d66d3a2ccb864e46258447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9cc88f0e37d66d3a2ccb864e46258447">write_namespace_close</a> ()</td></tr>
<tr class="memdesc:a9cc88f0e37d66d3a2ccb864e46258447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write namespace closing scope } // NAME.  <a href="#a9cc88f0e37d66d3a2ccb864e46258447">More...</a><br /></td></tr>
<tr class="separator:a9cc88f0e37d66d3a2ccb864e46258447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d1048f53a1c497e65e7682baa356ad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a2d1048f53a1c497e65e7682baa356ad8">write_namespace_scope</a> ()</td></tr>
<tr class="memdesc:a2d1048f53a1c497e65e7682baa356ad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write namespace scope NAME ::  <a href="#a2d1048f53a1c497e65e7682baa356ad8">More...</a><br /></td></tr>
<tr class="separator:a2d1048f53a1c497e65e7682baa356ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a892519f5f07c5198606b0647bd6ce927"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a892519f5f07c5198606b0647bd6ce927">undot_namespace</a> (std::string &amp;s)</td></tr>
<tr class="memdesc:a892519f5f07c5198606b0647bd6ce927"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all . by :: in namespace name.  <a href="#a892519f5f07c5198606b0647bd6ce927">More...</a><br /></td></tr>
<tr class="separator:a892519f5f07c5198606b0647bd6ce927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e27c7ca29d118601cb6a7a066f1300"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a18e27c7ca29d118601cb6a7a066f1300">stats</a> ()</td></tr>
<tr class="memdesc:a18e27c7ca29d118601cb6a7a066f1300"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display usage report.  <a href="#a18e27c7ca29d118601cb6a7a066f1300">More...</a><br /></td></tr>
<tr class="separator:a18e27c7ca29d118601cb6a7a066f1300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae5c152f9b2402ad52841e2bc6d7ed3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a5ae5c152f9b2402ad52841e2bc6d7ed3">get_line</a> ()</td></tr>
<tr class="memdesc:a5ae5c152f9b2402ad52841e2bc6d7ed3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch next line from the input, return true if ok.  <a href="#a5ae5c152f9b2402ad52841e2bc6d7ed3">More...</a><br /></td></tr>
<tr class="separator:a5ae5c152f9b2402ad52841e2bc6d7ed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26985f4836c5235fc418b18bf7969f5e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a26985f4836c5235fc418b18bf7969f5e">skip_comment</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a26985f4836c5235fc418b18bf7969f5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over white space and comments, return true if ok.  <a href="#a26985f4836c5235fc418b18bf7969f5e">More...</a><br /></td></tr>
<tr class="separator:a26985f4836c5235fc418b18bf7969f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa74ce1f1d7fd97842a4ad42e0b7b02c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#afa74ce1f1d7fd97842a4ad42e0b7b02c">as</a> (size_t &amp;pos, const char *s)</td></tr>
<tr class="memdesc:afa74ce1f1d7fd97842a4ad42e0b7b02c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos to match case-insensitive string s followed by whitespace, return true if OK.  <a href="#afa74ce1f1d7fd97842a4ad42e0b7b02c">More...</a><br /></td></tr>
<tr class="separator:afa74ce1f1d7fd97842a4ad42e0b7b02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a498a7294dac021281ee812a961f79b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a7a498a7294dac021281ee812a961f79b">ws</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a7a498a7294dac021281ee812a961f79b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over whitespace, returns true if OK.  <a href="#a7a498a7294dac021281ee812a961f79b">More...</a><br /></td></tr>
<tr class="separator:a7a498a7294dac021281ee812a961f79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d29628a9820d02a99e0465e28e3f66"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a38d29628a9820d02a99e0465e28e3f66">eq</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a38d29628a9820d02a99e0465e28e3f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over '=' and whitespace, return true if OK.  <a href="#a38d29628a9820d02a99e0465e28e3f66">More...</a><br /></td></tr>
<tr class="separator:a38d29628a9820d02a99e0465e28e3f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b174416076cfc1a999c9e42f87ef238"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a1b174416076cfc1a999c9e42f87ef238">dt</a> (size_t &amp;pos)</td></tr>
<tr class="separator:a1b174416076cfc1a999c9e42f87ef238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d231f33ec2a6c1626a1d7cd867a39ba"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9d231f33ec2a6c1626a1d7cd867a39ba">nl</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a9d231f33ec2a6c1626a1d7cd867a39ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos to end of line while skipping whitespace, return true if end of line.  <a href="#a9d231f33ec2a6c1626a1d7cd867a39ba">More...</a><br /></td></tr>
<tr class="separator:a9d231f33ec2a6c1626a1d7cd867a39ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfce12c468fbe5df7398eb6dbac42719"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#adfce12c468fbe5df7398eb6dbac42719">is_code</a> ()</td></tr>
<tr class="memdesc:adfce12c468fbe5df7398eb6dbac42719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current line starts a block of code or a comment.  <a href="#adfce12c468fbe5df7398eb6dbac42719">More...</a><br /></td></tr>
<tr class="separator:adfce12c468fbe5df7398eb6dbac42719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace9be5902d3fe803390afa2569dbd5f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ace9be5902d3fe803390afa2569dbd5f3">is_topcode</a> ()</td></tr>
<tr class="memdesc:ace9be5902d3fe803390afa2569dbd5f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current line starts a block of top code.  <a href="#ace9be5902d3fe803390afa2569dbd5f3">More...</a><br /></td></tr>
<tr class="separator:ace9be5902d3fe803390afa2569dbd5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd116babf0d553aec76fdbc21b35e19"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#adcd116babf0d553aec76fdbc21b35e19">is_classcode</a> ()</td></tr>
<tr class="memdesc:adcd116babf0d553aec76fdbc21b35e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current line starts a block of class code.  <a href="#adcd116babf0d553aec76fdbc21b35e19">More...</a><br /></td></tr>
<tr class="separator:adcd116babf0d553aec76fdbc21b35e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0963af89d24f447bf7abac97dbfc02fb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a0963af89d24f447bf7abac97dbfc02fb">is_initcode</a> ()</td></tr>
<tr class="memdesc:a0963af89d24f447bf7abac97dbfc02fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current line starts a block of init code.  <a href="#a0963af89d24f447bf7abac97dbfc02fb">More...</a><br /></td></tr>
<tr class="separator:a0963af89d24f447bf7abac97dbfc02fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d48dd0b0bc995cd1561d96a924fdb4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a41d48dd0b0bc995cd1561d96a924fdb4">get_name</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a41d48dd0b0bc995cd1561d96a924fdb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over name (letters, digits, ., -, _ or any non-ASCII character &gt; U+007F), return name.  <a href="#a41d48dd0b0bc995cd1561d96a924fdb4">More...</a><br /></td></tr>
<tr class="separator:a41d48dd0b0bc995cd1561d96a924fdb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a697c1ceadc811605b46acd46a94350e7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a697c1ceadc811605b46acd46a94350e7">get_option</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a697c1ceadc811605b46acd46a94350e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over option name (letters, digits, +/hyphen/underscore), return name.  <a href="#a697c1ceadc811605b46acd46a94350e7">More...</a><br /></td></tr>
<tr class="separator:a697c1ceadc811605b46acd46a94350e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1beee21471a50d0a4c3412971cd2f48"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ad1beee21471a50d0a4c3412971cd2f48">get_start</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:ad1beee21471a50d0a4c3412971cd2f48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over start condition name (an ASCII C++ identifier or C++11 Unicode identifier), return name.  <a href="#ad1beee21471a50d0a4c3412971cd2f48">More...</a><br /></td></tr>
<tr class="separator:ad1beee21471a50d0a4c3412971cd2f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824806b4d8cf94a8173e95e675adb393"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a824806b4d8cf94a8173e95e675adb393">get_string</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a824806b4d8cf94a8173e95e675adb393"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over quoted string, return string.  <a href="#a824806b4d8cf94a8173e95e675adb393">More...</a><br /></td></tr>
<tr class="separator:a824806b4d8cf94a8173e95e675adb393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7e968de28376a4a4084bae5aea663ff"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ae7e968de28376a4a4084bae5aea663ff">get_regex</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:ae7e968de28376a4a4084bae5aea663ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get regex string, converted to a format understood by the selected regex engine library.  <a href="#ae7e968de28376a4a4084bae5aea663ff">More...</a><br /></td></tr>
<tr class="separator:ae7e968de28376a4a4084bae5aea663ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f4833e68b7bf0ba0309d3179a5d2fce"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a4f4833e68b7bf0ba0309d3179a5d2fce">get_namespace</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a4f4833e68b7bf0ba0309d3179a5d2fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance pos over option name or namespace (letters, digits, ::, ., -, _ or any non-ASCII character &gt; U+007F), return name.  <a href="#a4f4833e68b7bf0ba0309d3179a5d2fce">More...</a><br /></td></tr>
<tr class="separator:a4f4833e68b7bf0ba0309d3179a5d2fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cace7a8eefcd0e9175880e4f4da9398"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9cace7a8eefcd0e9175880e4f4da9398">get_code</a> (size_t &amp;pos)</td></tr>
<tr class="memdesc:a9cace7a8eefcd0e9175880e4f4da9398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get line(s) of code, %{ %}, %top{ %}, %class{ %}, and %init{ %}.  <a href="#a9cace7a8eefcd0e9175880e4f4da9398">More...</a><br /></td></tr>
<tr class="separator:a9cace7a8eefcd0e9175880e4f4da9398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9843fc0bf423b75570a7500754bddeb2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9843fc0bf423b75570a7500754bddeb2">escape_bs</a> (const std::string &amp;s)</td></tr>
<tr class="memdesc:a9843fc0bf423b75570a7500754bddeb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns string with all \ replaced by \ to stringify file paths.  <a href="#a9843fc0bf423b75570a7500754bddeb2">More...</a><br /></td></tr>
<tr class="separator:a9843fc0bf423b75570a7500754bddeb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada6385c27620e6465a83d45556d38c27"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ada6385c27620e6465a83d45556d38c27">get_starts</a> (size_t &amp;pos, <a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Starts</a> &amp;starts)</td></tr>
<tr class="memdesc:ada6385c27620e6465a83d45556d38c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add start conditions &lt;start1,start2,...&gt; or subtract them with &lt;-start1,-start2,...&gt;  <a href="#ada6385c27620e6465a83d45556d38c27">More...</a><br /></td></tr>
<tr class="separator:ada6385c27620e6465a83d45556d38c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c000b6b962698eecec3c82e93f75bd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9c000b6b962698eecec3c82e93f75bd2">abort</a> (const char *message, const char *arg=NULL)</td></tr>
<tr class="memdesc:a9c000b6b962698eecec3c82e93f75bd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort with an error message.  <a href="#a9c000b6b962698eecec3c82e93f75bd2">More...</a><br /></td></tr>
<tr class="separator:a9c000b6b962698eecec3c82e93f75bd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac67afdeb14ff6995dde676da0aaf4ff4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#ac67afdeb14ff6995dde676da0aaf4ff4">error</a> (const char *message, const char *arg=NULL, size_t at_lineno=0)</td></tr>
<tr class="memdesc:ac67afdeb14ff6995dde676da0aaf4ff4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report an error and exit.  <a href="#ac67afdeb14ff6995dde676da0aaf4ff4">More...</a><br /></td></tr>
<tr class="separator:ac67afdeb14ff6995dde676da0aaf4ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14629b6e98124e7b250b309f4c25253"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#aa14629b6e98124e7b250b309f4c25253">warning</a> (const char *message, const char *arg=NULL, size_t at_lineno=0)</td></tr>
<tr class="memdesc:aa14629b6e98124e7b250b309f4c25253"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report a warning.  <a href="#aa14629b6e98124e7b250b309f4c25253">More...</a><br /></td></tr>
<tr class="separator:aa14629b6e98124e7b250b309f4c25253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9505d86eb28fc52b829aca616c5c6ec5"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_reflex.html#a9505d86eb28fc52b829aca616c5c6ec5">SGR</a> (const char *code)</td></tr>
<tr class="separator:a9505d86eb28fc52b829aca616c5c6ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>RE/flex scanner generator class, a variation of the classic "lex" tool to generate scanners. </p>
<p>More info TODO</p>
<p>The Lex specification file extension is <code>.l</code>, but also <code>.lex</code>, <code>.ll</code>, <code>.l++</code>, <code>.lxx</code>, and <code>.lpp</code> are in use. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="abb6f49bd01810ba3f30747ee148f0389"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="struct_reflex_1_1_code.html">Code</a>&gt; <a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Reflex::Codes</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Collection of ordered lines of code. </p>

</div>
</div>
<a class="anchor" id="afbe4c8caf09edbddcca57963ec00a73f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a>,<a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a>&gt; <a class="el" href="class_reflex.html#afbe4c8caf09edbddcca57963ec00a73f">Reflex::CodesMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map of start conditions to lines of code. </p>

</div>
</div>
<a class="anchor" id="a55e5a4bdb0ce1d6ccdec74d14cd06aac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string,const char*&gt; <a class="el" href="class_reflex.html#a55e5a4bdb0ce1d6ccdec74d14cd06aac">Reflex::Dictionary</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dictionary (const char*) </p>

</div>
</div>
<a class="anchor" id="aa8c4529578d0a64c49d765df6287b5dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string,<a class="el" href="struct_reflex_1_1_library.html">Library</a>&gt; <a class="el" href="class_reflex.html#aa8c4529578d0a64c49d765df6287b5dc">Reflex::LibraryMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dictionary of regex libraries. </p>

</div>
</div>
<a class="anchor" id="a11eba19c13cb5dadc9ee92bdbef1742b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="struct_reflex_1_1_rule.html">Rule</a>&gt; <a class="el" href="class_reflex.html#a11eba19c13cb5dadc9ee92bdbef1742b">Reflex::Rules</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Collection of ordered rules. </p>

</div>
</div>
<a class="anchor" id="a7aef4c7aef224a4fa99ff256bc514e13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a>,<a class="el" href="class_reflex.html#a11eba19c13cb5dadc9ee92bdbef1742b">Rules</a>&gt; <a class="el" href="class_reflex.html#a7aef4c7aef224a4fa99ff256bc514e13">Reflex::RulesMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map of start conditions to rules. </p>

</div>
</div>
<a class="anchor" id="a848b594249e352aeb4fbb9b80625df50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t <a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Reflex::Start</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start condition state type. </p>

</div>
</div>
<a class="anchor" id="a8c6779ef74206e028a5d08eeecfe785d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::set&lt;<a class="el" href="class_reflex.html#a848b594249e352aeb4fbb9b80625df50">Start</a>&gt; <a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Reflex::Starts</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set of start conditions. </p>

</div>
</div>
<a class="anchor" id="a6d8d0a1e69254887bb449ccf2cf6f25c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string,std::string&gt; <a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">Reflex::StringMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dictionary (std::string) </p>

</div>
</div>
<a class="anchor" id="a3a6e7a1fe6005818eb77148483d726b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Reflex::Strings</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Collection of ordered strings. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9c000b6b962698eecec3c82e93f75bd2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::abort </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arg</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Abort with an error message. </p>

</div>
</div>
<a class="anchor" id="afa74ce1f1d7fd97842a4ad42e0b7b02c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::as </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos to match case-insensitive string s followed by whitespace, return true if OK. </p>

</div>
</div>
<a class="anchor" id="a1b174416076cfc1a999c9e42f87ef238"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::dt </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a38d29628a9820d02a99e0465e28e3f66"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::eq </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over '=' and whitespace, return true if OK. </p>

</div>
</div>
<a class="anchor" id="ac67afdeb14ff6995dde676da0aaf4ff4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::error </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arg</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>at_lineno</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Report an error and exit. </p>

</div>
</div>
<a class="anchor" id="a9843fc0bf423b75570a7500754bddeb2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::escape_bs </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns string with all \ replaced by \ to stringify file paths. </p>

</div>
</div>
<a class="anchor" id="a9cace7a8eefcd0e9175880e4f4da9398"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_code </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get line(s) of code, %{ %}, %top{ %}, %class{ %}, and %init{ %}. </p>

</div>
</div>
<a class="anchor" id="a5ae5c152f9b2402ad52841e2bc6d7ed3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::get_line </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Fetch next line from the input, return true if ok. </p>

</div>
</div>
<a class="anchor" id="a41d48dd0b0bc995cd1561d96a924fdb4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_name </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over name (letters, digits, ., -, _ or any non-ASCII character &gt; U+007F), return name. </p>

</div>
</div>
<a class="anchor" id="a4f4833e68b7bf0ba0309d3179a5d2fce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_namespace </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over option name or namespace (letters, digits, ::, ., -, _ or any non-ASCII character &gt; U+007F), return name. </p>

</div>
</div>
<a class="anchor" id="a697c1ceadc811605b46acd46a94350e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_option </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over option name (letters, digits, +/hyphen/underscore), return name. </p>

</div>
</div>
<a class="anchor" id="ae7e968de28376a4a4084bae5aea663ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_regex </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get regex string, converted to a format understood by the selected regex engine library. </p>

</div>
</div>
<a class="anchor" id="ad1beee21471a50d0a4c3412971cd2f48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_start </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over start condition name (an ASCII C++ identifier or C++11 Unicode identifier), return name. </p>

</div>
</div>
<a class="anchor" id="ada6385c27620e6465a83d45556d38c27"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::get_starts </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Starts</a> &amp;&#160;</td>
          <td class="paramname"><em>starts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add start conditions &lt;start1,start2,...&gt; or subtract them with &lt;-start1,-start2,...&gt; </p>

</div>
</div>
<a class="anchor" id="a824806b4d8cf94a8173e95e675adb393"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::get_string </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over quoted string, return string. </p>

</div>
</div>
<a class="anchor" id="a0520e61057161b9d56fa2fcec5399a7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::help </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arg</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Display help information with an optional diagnostic message and exit. </p>

</div>
</div>
<a class="anchor" id="a5e4f576217a1dd8ba8a0d94ed6814228"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::include </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse the specified %include file. </p>

</div>
</div>
<a class="anchor" id="ad158e2c52fa9642e7d93a477db067032"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::init </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="class_reflex.html" title="RE/flex scanner generator class, a variation of the classic &quot;lex&quot; tool to generate scanners...">Reflex</a> initialization. </p>

</div>
</div>
<a class="anchor" id="adcd116babf0d553aec76fdbc21b35e19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::is_classcode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if current line starts a block of class code. </p>

</div>
</div>
<a class="anchor" id="adfce12c468fbe5df7398eb6dbac42719"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::is_code </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if current line starts a block of code or a comment. </p>

</div>
</div>
<a class="anchor" id="a0963af89d24f447bf7abac97dbfc02fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::is_initcode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if current line starts a block of init code. </p>

</div>
</div>
<a class="anchor" id="ace9be5902d3fe803390afa2569dbd5f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::is_topcode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if current line starts a block of top code. </p>

</div>
</div>
<a class="anchor" id="a27dfea948be151721bc24f15e1918a89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::main </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main program. </p>

</div>
</div>
<a class="anchor" id="a9d231f33ec2a6c1626a1d7cd867a39ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::nl </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos to end of line while skipping whitespace, return true if end of line. </p>

</div>
</div>
<a class="anchor" id="a41d530e5070b00d2bdbae9bed1a51945"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::parse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse lex specification input. </p>

</div>
</div>
<a class="anchor" id="a4a6888a1281e469b13ca902f114f93a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::parse_section_1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse section 1 of a lex specification. </p>

</div>
</div>
<a class="anchor" id="a1484c3f64f893012187b4e34643b21d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::parse_section_2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse section 2 of a lex specification. </p>

</div>
</div>
<a class="anchor" id="af1c87d2a855eabf92aebc995f0f4fa6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::parse_section_3 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse section 3 of a lex specification. </p>

</div>
</div>
<a class="anchor" id="a73dd4e0d6c5db21a2636f332e6e7bd02"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::set_library </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set/reset regex library matcher. </p>

</div>
</div>
<a class="anchor" id="a9505d86eb28fc52b829aca616c5c6ec5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* Reflex::SGR </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a26985f4836c5235fc418b18bf7969f5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::skip_comment </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over white space and comments, return true if ok. </p>

</div>
</div>
<a class="anchor" id="a18e27c7ca29d118601cb6a7a066f1300"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::stats </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Display usage report. </p>

</div>
</div>
<a class="anchor" id="a892519f5f07c5198606b0647bd6ce927"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::undot_namespace </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Replace all . by :: in namespace name. </p>

</div>
</div>
<a class="anchor" id="a30485ab1c619a08756855152ec198508"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::version </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Display version information and exit. </p>

</div>
</div>
<a class="anchor" id="aa14629b6e98124e7b250b309f4c25253"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::warning </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arg</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>at_lineno</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Report a warning. </p>

</div>
</div>
<a class="anchor" id="af38a99517397df6f116985a31062366e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a5378b5a1eb6ef820137108103cde676e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_banner </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>title</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write a banner in lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a76892cdd57ac5aa8189daff17f751bc4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_class </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write the lexer class to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="ad97e7f90b8d79368875ab955798b1086"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_code </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> &amp;&#160;</td>
          <td class="paramname"><em>codes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write lines of code to lex.yy.cpp annotated with <a class="el" href="class_reflex.html#ac085e3b7ee325db6dd80547e4f3ff492" title="current line read from input ">line</a> source info. </p>

</div>
</div>
<a class="anchor" id="a21b0fa5d1c28f7b0d1d79aac7d7cd546"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_code </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_reflex_1_1_code.html">Code</a> &amp;&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write a line(s) of code to lex.yy.cpp annotated with <a class="el" href="class_reflex.html#ac085e3b7ee325db6dd80547e4f3ff492" title="current line read from input ">line</a> source info. </p>

</div>
</div>
<a class="anchor" id="a4ad4dcb338a4529b4cf5eb1c1f6a66f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_defines </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write Flex-compatible #defines to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a2de02f859367c9edf019127d7e1017b7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_lexer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write lexer code and <a class="el" href="namespacereflex_1_1convert__flag.html#a7222821c0cc6579424c71c261e9b8805" title="convert Lex/Flex regular expression syntax ">lex()</a> method code. </p>

</div>
</div>
<a class="anchor" id="a73708c3b7e0c165a4199abc159c6c2ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_main </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write <a class="el" href="class_reflex.html#a27dfea948be151721bc24f15e1918a89" title="Main program. ">main()</a> to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a9cc88f0e37d66d3a2ccb864e46258447"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_namespace_close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write namespace closing scope } // NAME. </p>

</div>
</div>
<a class="anchor" id="a35b38c4bff914c0a8cbb2bc8d2200f16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_namespace_open </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write namespace openings NAME {. </p>

</div>
</div>
<a class="anchor" id="a2d1048f53a1c497e65e7682baa356ad8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_namespace_scope </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write namespace scope NAME :: </p>

</div>
</div>
<a class="anchor" id="a7e6b770dad76d0e321d1ac3ac94fd1dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_perf_report </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write perf_report code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="ae7cffdb537bbe9e813d50509bb8f6b77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_prelude </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write the prelude to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="ac53cf0387ce042bb427f666ab2b9b614"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_regex </td>
          <td>(</td>
          <td class="paramtype">const std::string *&#160;</td>
          <td class="paramname"><em>condition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write regex string to lex.yy.cpp by escaping \ and ", prevent trigraphs, very long strings are represented by character arrays. </p>

</div>
</div>
<a class="anchor" id="ad63ffcc73cc1d67d82297e7594e1ac90"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_section_1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write section 1 user-defined code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a126d6ab58a2f7f69baaa924ccfd323e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_section_3 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write section 3 user-defined code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="aca10b84c4da54da34145b9cb92741e65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_section_class </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write %class{ %} code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a9dcd1db4f416474695064d5b84dfb3d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_section_init </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write %init{ %} code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="af497f62c94622122f8ad2aaaeb68102a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Reflex::write_section_top </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write %top{ %} code to lex.yy.cpp. </p>

</div>
</div>
<a class="anchor" id="a7a498a7294dac021281ee812a961f79b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::ws </td>
          <td>(</td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance pos over whitespace, returns true if OK. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab7001f5dfc8f7df0d9d1a0206f6eeddd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Reflex::color_term</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>terminal supports colors </p>

</div>
</div>
<a class="anchor" id="a19a51b8e2bb114d8e237736464ac1110"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Strings</a> Reflex::conditions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>"INITIAL" start condition etc. defined with x name </p>

</div>
</div>
<a class="anchor" id="a10c25500450853f1b764ffd84c3e5b5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">StringMap</a> Reflex::definitions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>map of {name} to regex </p>

</div>
</div>
<a class="anchor" id="aacbfa0e7b5796866248444540f2c2e91"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_buffered_input.html">reflex::BufferedInput</a> Reflex::in</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>input lex spec </p>

</div>
</div>
<a class="anchor" id="a9e2717ffc89bd95b32b1a9d9dcdfc265"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a8c6779ef74206e028a5d08eeecfe785d">Starts</a> Reflex::inclusive</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>inclusive start conditions </p>

</div>
</div>
<a class="anchor" id="a90ce8ccc7e141edca3b6420eb1d1230a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::infile</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>input file name </p>

</div>
</div>
<a class="anchor" id="a16a66e413d3c2f1f55c85935c05053fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#aa8c4529578d0a64c49d765df6287b5dc">LibraryMap</a> Reflex::libraries</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>maps regex library name ("reflex", "boost", etc) to library info </p>

</div>
</div>
<a class="anchor" id="a6576cd4dbb07cdf6e35a81d82f33458e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_reflex_1_1_library.html">Library</a>* Reflex::library</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the regex library selected </p>

</div>
</div>
<a class="anchor" id="ac085e3b7ee325db6dd80547e4f3ff492"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Reflex::line</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current line read from input </p>

</div>
</div>
<a class="anchor" id="a760ce32f11519792ae3e8ae39581321b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Reflex::linelen</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current line length </p>

</div>
</div>
<a class="anchor" id="a810fc443d62c7acdbe0e50e0cbf88751"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t Reflex::lineno</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current line number at input </p>

</div>
</div>
<a class="anchor" id="ac4d549aab5d74976912f9e21c03ec046"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a6d8d0a1e69254887bb449ccf2cf6f25c">StringMap</a> Reflex::options</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>maps option name (from the options_table) to its option value </p>

</div>
</div>
<a class="anchor" id="a43a7d03055d6b390d74f62356c3b8f7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream* Reflex::out</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>output stream </p>

</div>
</div>
<a class="anchor" id="a879815c74ef72e4d66931f4bbf3ea327"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a3a6e7a1fe6005818eb77148483d726b1">Strings</a> Reflex::patterns</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>regex patterns for each start condition </p>

</div>
</div>
<a class="anchor" id="a8732c058a3371357b5a6a32c884d33ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#a7aef4c7aef224a4fa99ff256bc514e13">RulesMap</a> Reflex::rules</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>&lt;Start_i&gt;regex_j action for Start i <a class="el" href="struct_reflex_1_1_rule.html" title="A regex pattern and action pair that forms a rule. ">Rule</a> j </p>

</div>
</div>
<a class="anchor" id="a69ea7fa567dc30f159cc2abd7c14ca07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> Reflex::section_1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>%{ user code %} in section 1 container </p>

</div>
</div>
<a class="anchor" id="a6384f841b94a8b5cacb7c7cf1d441c45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#afbe4c8caf09edbddcca57963ec00a73f">CodesMap</a> Reflex::section_2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>lexer user code in section 2 container </p>

</div>
</div>
<a class="anchor" id="a0a42d86bbdfc14e2a2c5253f92d75014"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> Reflex::section_3</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>main user code in section 3 container </p>

</div>
</div>
<a class="anchor" id="a6085e4c5eb4dcf32bdbfb7fc5d72a4e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> Reflex::section_class</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>class{ class code %} in section 1 container </p>

</div>
</div>
<a class="anchor" id="a5c3433a31e6edb1225a54bff471b1b6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> Reflex::section_init</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>init{ init code %} in section 1 container </p>

</div>
</div>
<a class="anchor" id="a6e50dfe560c191dd9bd3cde9c36256f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_reflex.html#abb6f49bd01810ba3f30747ee148f0389">Codes</a> Reflex::section_top</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>top{ user code %} in section 1 container </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="reflex_8h.html">reflex.h</a></li>
<li><a class="el" href="reflex_8cpp.html">reflex.cpp</a></li>
</ul>
</div><!-- contents -->
<hr class="footer">
<address class="footer"><small>
Converted on Fri Nov 22 2019 14:30:50 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
